<?php 

namespace Admin\Controller;
use Think\Controller;

/**
 * 用户管理控制器
 * @author 艾逗笔<765532665@qq.com>
 */
class MemberController extends BaseController {

    /**
     * 添加用户
     * @author 艾逗笔<765532665@qq.com>
     */
    public function add() {
        if (IS_POST) {
            $_validate = array(
                array('name', 'require', '商品名不能为空', 1, 'regex', 3),
                array('info', 'require', '商品简介不能为空', 1, 'regex', 3),
                // array('name', '6,20', '用户名长度在6至20个字符之间', 2, 'length', 1),
                array('price', 'require', '商品价格不能为空', 1, 'regex', 3),
                array('price', 'number', '商品价格必须为数字', 2, 'regex', 3),
                // array('password', '6,20', '密码长度在6至20个字符之间', 2, 'length', 1),
                // array('img', 'require', '商品图片不能为空', 1, 'regex', 3)
            );
            // $_auto = array(
                // array('password', 'md5', 3, 'function'),
                // array('nickname', 'username', 1, 'field'),
                // array('register_time', 'time', 1, 'function')
            // );
            $Goods = M('goods');
            $Goods->setProperty('_validate', $_validate);
            if (!$Goods->create()) {
                $this->error($Goods->getError());
            } else {
                $goods_add = $Goods->add();
                if ($goods_add) {
                    // foreach (I('roles') as $k => $v) {
                        // $data['id'] = $user_id;
                        // $data['role_id'] = $v;
                        // $datas[] = $data;
                    // }
                    // M('rbac_role_goods')->addAll($datas);
                    
                    $this->success('添加商品成功', U('lists'));
                } else {
                    $this->error('添加商品失败');
                }
            }
        } else {
            $this->addCrumb('系统管理', U('Index/index'), '')
                 ->addCrumb('商品管理', U('Goods/lists'), '')
                 ->addCrumb('商品添加', '', 'active')
                 ->addNav('商品添加', '', 'active')
                 ->setModel('goods')
                 ->addFormField('name', '商品名称', 'text')
                 ->addFormField('price', '商品价格', 'text')
                 ->addFormField('info', '商品简介', 'text')
                 ->addFormField('img', '商品图片', 'image')
                 ->addFormField('downtime', '下架时间', 'time')
                 
                 
                 // ->addFormField('roles', '用户角色', 'checkbox', array('options'=>'callback','callback_name'=>'get_user_roles'))
                 ->common_add();
        }
    }

    /**
     * 编辑用户
     * @author 艾逗笔<765532665@qq.com>
     */
    public function edit() {
        if (IS_POST) {
            if (!I($name)) {
                $this->error('商品名称不能为空');
            }
            if (!I($info)) {
                $this->error('商品简介不能为空');
            }
            if (!I($img)) {
                $this->error('商品图片不能为空');
            }
            if (!I($price)) {
                $this->error('商品价格不能为空');
            }
        
            $_validate[] = array('name', 'require', '商品名称不能为空', 1, 'regex', 3);
            $_validate[] = array('info', 'require', '商品简介不能为空', 1, 'regex', 3);
            $_validate[] = array('price', 'require', '商品价格不能为空', 1, 'regex', 3);
            $_validate[] = array('price', 'number', '商品价格必须为数字', 2, 'regex', 3);
        
            $Goods = M('goods');
            $Goods->setProperty('_validate', $_validate);
            $data['name'] = I('name');
            $data['info'] = I('info');
            $data['id'] = I('get.id');
            $data['price'] = I('price');
            $data['img'] = I('img');
            $data['downtime'] = I('downtime');
            C('TOKEN_ON', false);
            if (!$Goods->create($data)) {
                $this->error($Goods->getError());
            } else {
                $rst=$Goods->save($data);
                $this->success('修改商品信息成功', U('lists'));
            }
            
        } else {
            $Goods = M('goods')->find(I('id'));
            $this->addCrumb('系统管理', U('Index/index'), '')
                 ->addCrumb('商品管理', U('Goods/lists'), '')
                 ->addCrumb('编辑商品', '', 'active')
                 ->addNav('编辑商品', '', 'active')
                 ->setModel('goods')
                 ->addFormField('name', '商品名称', 'text')
                 ->addFormField('price', '商品价格', 'text')
                 ->addFormField('info', '商品简介', 'text')
                 ->addFormField('img', '商品图片', 'image')
                 ->addFormField('downtime', '下架时间', 'time')
                 
                 // ->addFormField('roles', '用户角色', 'checkbox', array('options'=>'callback','callback_name'=>'get_user_roles'))
                 ->setFormData($Goods)
                 ->common_edit();
        }
    }

    /**
     * 用户列表
     * @author 艾逗笔<765532665@qq.com>
     */
    public function lists() {
        $this->addCrumb('系统管理', U('Index/index'), '')
             ->addCrumb('会员管理', U('Member/lists'), '')
             ->addCrumb('会员列表', '', 'active')
             ->addNav('会员列表', '', 'active')
             ->setModel('member')
             ->addListItem('telephone', '会员电话')
             ->addListItem('city', '会员地址')
             ->addListItem('nickname', '会员昵称')
             ->addListItem('createtime', '创建时间')
             // ->addListItem('status', '用户角色', 'callback', array('callback_name'=>'parse_roles'))
             // ->addListItem('register_time', '注册时间', 'function', array('function_name'=>'date','params'=>'Y-m-d H:i:s,###'))
             ->addListItem('id', '操作', 'custom', array('options'=>array('edit'=>array('编辑',U('edit',array('id'=>'{id}')),'btn btn-primary btn-sm icon-edit',''),'delete'=>array('删除',U('delete',array('id'=>'{id}')),'btn btn-danger btn-sm icon-delete', ''))))
             ->common_lists();
    }

    /**
     * 删除用户
     * @author 艾逗笔<765532665@qq.com>
     */
    public function delete() {
        $goods_id = I('id');
        // M('goods')->where(array('id'=>$goods_id))->delete();
        // M('mp')->where(array('user_id'=>$user_id))->delete();
        $res = M('goods')->delete($goods_id);
        if (!$res) {
            $this->error('删除商品失败');
        } else {
            $this->success('删除商品成功', U('lists'));
        }
    }

    /**
     * 获取用户角色
     * @author 艾逗笔<765532665@qq.com>
     */
    // public function get_user_roles() {
    //     $results = M('rbac_role')->select();
    //     foreach ($results as $k => $v) {
    //         $roles[$v['id']] = $v['name'];
    //     }
    //     return $roles;
    // }
     public function get_user_goods() {
        $results = M('goods')->select();
        foreach ($results as $k => $v) {
            $roles[$v['id']] = $v['name'];
        }
        return $roles;
    }

    
    /**
     * 格式化显示用户所属角色
     * @author 艾逗笔<765532665@qq.com>
     */
    public function parse_roles($user_id) {
        $role_users = M('rbac_role_user')->field('role_id')->where(array('user_id'=>$user_id))->select();
        foreach ($role_users as $k => $v) {
            $role = M('rbac_role')->where(array('id'=>$v['role_id']))->getField('name');
            $roles[] = $role;
        }
        return implode(',', $roles);
    } 

}


?>